Maelezo ya itifaki ya mawasiliano ya ModBus
Itifaki ya Modbus ni itifaki ya mawasiliano ya kawaida ambayo imetumika sana katika uwanja wa udhibiti wa viwanda leo. Kwa njia ya itifaki hii, wadhibiti wanaweza kuwasiliana na vifaa vingine kwa njia ya mtandao, kama vile Ethernet. Modbus itifaki hutumia teknolojia ya mawasiliano ya msingi kutoka, yaani, mapitio na uendeshaji kutoka vifaa vya msingi. Kwa kawaida itifaki iliyotumiwa na upande wa kifaa cha mkuu inaitwa Modbus Master, na itifaki iliyotumiwa kutoka upande wa kifaa inaitwa Modbus Slave. kawaida vifaa kuu ni pamoja na mashine ya udhibiti wa viwanda na mdhibiti wa viwanda nk; Kawaida kutoka vifaa kama vile PLC programmable controller nk. Modbus mawasiliano ya kimwili interface inaweza kuchagua serial bandari (ikiwa ni pamoja na RS232 na RS485), au inaweza kuchagua Ethernet bandari. Mawasiliano yake hufuata mchakato huu:
● kifaa kuu kutuma maombi kutoka kifaa
● kuchambua na kushughulikia maombi ya kifaa kuu kutoka kifaa na kisha kutuma matokeo kwa kifaa kuu
● Kama kuna makosa yoyote kutoka kifaa kurudi isiyo ya kawaida code
Programu ya mawasiliano ya ModBus
Bidhaa za programu za mawasiliano ya itifaki ya ModBus zilizozinduliwa na kampuni ya InGen hutumiwa hasa katika mazingira ya bodi kuu ya InGen ARM9 iliyoingizwa, bodi kuu ya InGen inapatikana na serikali tajiri, rasilimali za mtandao, interface ya GPIO ya jumla, nk, wakati huo huo huo ina uwezo mkubwa wa usindikaji. Pamoja na programu ya itifaki ya mawasiliano ya ModBus, inaweza kuunda kwa urahisi sana jukwaa la maombi ya kudhibiti (Master) na vifaa (Slave) kulingana na vipimo vya mawasiliano ya ModBus. Kwa ajili ya kipengele cha njia ya mawasiliano ya ModBus, mfuko wa mawasiliano ya ModBus wa INSTRAW umegawanywa katika sehemu mbili zinazoweza kutumika tofauti, yaani "Programu ya Mkuu wa ModBus" (kwa kifupi modbus_Master) na "Programu ya Mkataba wa Kifaa cha ModBus" (kwa kifupi modbus_Slave). Hivi sasa programu ya mawasiliano ya ModBus inaendesha katika mazingira ya WinCE, zote zinapatikana kwa wateja katika fomu ya kazi ya C pamoja na maktaba ya LIB static. Sifa zake kuu ni zifuatazo:
● Inafaa sana kwa matumizi ya viwanda ya wakati halisi
● Inaweza kusaidia Serial-msingi ModBus itifaki ya maombi au TCP ModBus itifaki ya maombi
● RTU uhamisho mode
● Inasaidia shughuli nyingi Modbus code kazi, ikiwa ni pamoja na shughuli ya bit ya kuingia kwa coils, switch tofauti, na shughuli ya bytes ya usajili
• Kusaidia anwani ya utangazaji
● Inaweza kubadilika kuweka muda wa mawasiliano ModBus
● Unaweza kupata maelezo ya kina kuhusu code ya makosa ya itifaki ya uhamisho katika mawasiliano
Programu ya mawasiliano ya ModBus

Kodi ya kazi inayosaidiwa na programu ya ModBus
Kazi ya code |
Maelezo |
1 |
Soma coil moja |
2 |
Soma kuingia kwa kiasi cha tofauti |
3 |
Soma usajili mbalimbali |
4 |
Soma usajili wa kuingia |
5 |
Andika coil moja |
6 |
Andika Usajili mmoja |
15 |
Andika coils nyingi |
16 |
Andika usajili mbalimbali |
22 |
Kuzuia kuandika usajili |
23 |
Kusoma / kuandika usajili |
Matumizi ya msingi ya programu
Ili kuwezesha matumizi ya maombi na kuweka fomu ya kanuni thabiti kwa vyombo vya habari tofauti, kazi ya API katika programu ya itifaki ya ModBus (ikiwa ni pamoja na modbus_Master na modbus_Slave) iliyotolewa na InGen inaweza kusaidia itifaki ya Modbus ya serial na TCP wakati huo huo, maombi yanahitaji tu kutofautisha kwa vigezo tofauti wakati wa wito wa kazi ya kuanzisha, tafadhali angalia faili za kichwa husika kwa maelekezo ya vigezo: modbus_Master.h na modbus_Slave.h
Maombi ya modbus_master
Kama programu ya hali ya mteja wa Modbus, ni hasa kuandaa ombi na kutuma ombi kwa vifaa vya seva na kusubiri majibu ya seva. Wakati wa kufanya maendeleo ya maombi kama hayo, watumiaji wanaweza kumbukumbu Modbus kiwango fasihi na vifaa madai mawasiliano interface data mwongozo, moja kwa moja wito wa modbus_Master mfuko kutoa kazi ya uendeshaji API, kukamilisha upatikanaji wa vifaa vya seva na udhibiti. Wakati wa maendeleo ya maombi kama hayo, mtumiaji anahitaji tu kuwa na modbus_master.h/modbus_master.lib.
Maombi ya modbus_slave
Kama programu ya ModBus server mode, inahitaji sana kutekeleza uchambuzi na majibu ya ujumbe wa programu ya ModBus, lakini hii ni sehemu tu ya mawasiliano yote ya ModBus, sehemu nyingine pia inahitaji upatikanaji wa data ya programu, sehemu hii ya maudhui inahitaji watumiaji wenyewe kufafanua. Ili kuwezesha matumizi ya wateja, mzigo wa moja kwa moja wa kazi hizi za interface ya mtumiaji ulifanyika katika mfuko wa modbus_Slave kupitia kiashiria cha kazi, kuunganisha usindikaji wa data wa maombi ya mtumiaji na majibu ya ujumbe wa maombi ya ModBus. Watumiaji wanahitaji tu kufafanua kazi hizi za interface kulingana na mahitaji ili kutekeleza kazi husika, na ufafanuzi maalum wa kazi kila moja hutekelezwa kupitia faili ya CPP maalum: DataProvider.cpp.
Hivyo inaonekana wakati wa aina hii ya programu ya maendeleo, inahitaji kuwa na sehemu mbili za maudhui, sehemu moja ni kazi ya API iliyofafanuliwa na modbus_slave.h/modbus_slave.lib; Sehemu nyingine ni kazi ya interface ya data ya mtumiaji iliyofafanuliwa na DataProvider.h / DataProvider.cpp, ambapo kazi ya interface inahitaji watumiaji kutekelezwa hasa katika DataProvider.cpp.
Ili kujibu ujumbe wa maombi ya ModBus kwa wakati, ni muhimu kumbuka kwamba wakati wa kupanga programu, thread inapaswa kubuni kuita modbus_Slave mara kwa mara kwa kazi ya utekelezaji, ambayo ni hali ya kuzuia.
Kwa mfano:
(1) Kuanza Mkataba wa Kifaa cha Modbus
hPort = mbusSlave_StartupServer ((_T)'*'), 1, 10000, mbusSlave_Interface );
au
hPort=mbusSlave_StartupServer (_T)'COM3: 9600-8-1-0'),1,10000, mbusSlave_Interface );
(2) wito wa kazi ya utekelezaji katika threadServerloop kujibu ombi
wakati( 1 )
{
//Wito wa kazi ya utekelezaji kwa ajili ya uchambuzi na majibu ya ujumbe wa ModBus.
matokeo = mbusSlave_ServerLoop ((hPort );
kama((matokeo!=0)//Angalia kama kurudi makosa
{
//Kushughulikia makosa: Mfano huu ni habari ya maandishi ya kupata na kuchapisha code ya makosa
wcscpy ((szText, mbusSlave_GetErrorText ((matokeo)));
i1 = wcslen ((szText );
kama(i1>0)
{
wcstombs ((strText, szText, i1 );
printf (('msimbo wa kosa: %s! yaStretex);
}
}
}
Programu ya awali ya itifaki ya mawasiliano ya ModBus iliyotolewa na INSTRAW ilipatikana kwa wateja katika fomu ya kazi ya C pamoja na maktaba ya static (modbus.lib au faili ya libmodbus.a). Pamoja na matumizi ya wateja zaidi na zaidi, Ingron imeweka itifaki ya mawasiliano ya ModBus, hasa programu ya itifaki ya mkuu (modbus_Master) kwenye mfumo wa kernel ya bodi ya mkuu ya Ingron iliyoingizwa ya udhibiti wa sekta katika mfumo wa maktaba yenye nguvu (modbus_Master.dll au faili za libmbusmaster.so) ili kuwezesha wito wa maombi ya wateja. Bodi ya kudhibiti ya Modbus imewekwa mbele ni pamoja na bodi zote za ESM (ESM6802, ESM6800, ESM335x, ESM928x, nk).
Maelezo yanayohusiana
| 4 ~ 20mA sasa pete kukusanya programu | Modbus Mwenyekiti wa mawasiliano ya programu chini ya WinCE | |
| Programu ya Mkataba wa Kifaa cha Modbus chini ya WinCE | Intel Embedded Linux madongozi bodi msaada Modbus madongozi itifaki programu | |
| Programu ya Mkataba wa Kifaa cha Modbus chini ya Linux | ESM6802 msaada Qt MODBUS programu ya maendeleo | |
| Preinstalled Modbus itifaki katika bodi ya msingi |
